上回介紹了最標準的機器學習模型,其中最重要的式子就是找到 $h^$
$$
h^=\mathop{\arg\min}{h \in \mathcal{H}} \sum{i=1}^N \lambda(h, (x_i, y_i))
$$
然而,如何找到這個 $h$ 是個非常困難的問題,數學上屬於最佳化問題的範疇,是個博大精深的領域,今天來簡單介紹一下。
我們先簡化問題,假設 $\mathcal{H}$ 是個凸函數的集合,也就是對於所有 $h \in \mathcal{H}$ 都是凸函數,其中凸函數的定義如下:
We say a function $g: \mathbb{R}^D \rightarrow \mathbb{R}$ is convex if
$$
g(tu + (1-t)v) \leq tg(u) + (1-t)g(v), \ \ \ \forall\ t \in [0, 1], u, v \in \mathbb{R}^D
$$
凸函數就會有很多很好的性質,也有許多不等式可以使用,如下:
如果 $g_1$ 與 $g_2$ 是凸函數,則對於所有$\alpha, \beta \in \mathbb{R}_{>0}$ ,$\alpha g_1 + \beta g_2$ 也是凸函數
可以使用琴生不等式(Jensen's Inequality):
如果 $g: \mathbb{R}^D \rightarrow \mathbb{R}$ 是一個凸函數,則
$$
\sum_{i=1}^N \alpha_i g(x_i) \geq g(\sum_{i=1}^N \alpha_i x_i), \ \ \ \forall \ \sum_{i=1}^N \alpha_i = 1, x_1, x_2, ..., x_N \in \mathbb{R}^D
$$
凸共軛(Convex Conjugate)
$$
f^*(y) = \sup_{dom(f)}(y^Tx - f(x))
$$
凸函數是非常重要的性質,許多理論研究都是從這個出發,下回繼續介紹最佳化的演算法。